package CustomDialogs;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JDialog;

import CustomResources.CustomDialog;
import EstructurasDeDatos.Grafo;
import Main.Aplicacion;

import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;

public class DialogCostoEnlace extends JDialog {


	private static final long serialVersionUID = 8337198882994414944L;
	private Aplicacion padre;
	private Grafo grafo;
	private JTextField textFieldCosto;

	public DialogCostoEnlace(Aplicacion parent, Grafo g,String defaultVal){
		super(parent, true);

		padre=parent;
		grafo=g;
		setBounds(100, 100, 256, 109);

		JPanel panel = new JPanel();
		panel.setBounds(0, 0, 220, 88);
		getContentPane().add(panel);
		panel.setLayout(null);

		JLabel lblCosto = new JLabel("Costo del enlace:");
		lblCosto.setBounds(22, 14, 114, 14);
		panel.add(lblCosto);

		textFieldCosto = new JTextField(defaultVal);
		textFieldCosto.setBounds(134, 11, 86, 20);
		panel.add(textFieldCosto);
		textFieldCosto.setColumns(10);

		JButton btnAceptar = new JButton("Aceptar");
		btnAceptar.setBounds(75, 37, 86, 23);
		panel.add(btnAceptar);

		btnAceptar.addMouseListener(new MouseAdapter() {
			public void mouseClicked(MouseEvent e) {
				guardarCosto();
			}
		});

		setLocation(padre.getLocationOnScreen().x+(padre.getWidth()-this.getWidth())/2,padre.getLocationOnScreen().y+(padre.getHeight()-this.getHeight())/2);
		setResizable(false);
		this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setVisible(true);
	}

	private void guardarCosto(){
		try{
			int costo = Integer.parseInt(textFieldCosto.getText());
			grafo.setCostoNuevoEnlace(costo);
			dispose();
		}catch(NumberFormatException e){
			new CustomDialog("Valor incorrecto","El costo debe ser un valor entero.","Error",padre);
		}
	}
	
}